Glare detection system and methods for automated vehicular control

ABSTRACT

Aspects of the present disclosure describe systems, methods, and devices for automated vehicular control based on glare detected by an optical system of a vehicle. In some aspects, automated control includes controlling the operation of the vehicle itself, a vehicle subsystem, or a vehicle component based on a level of glare detected. According to some examples, controlling the operation of a vehicle includes instructing an automatically or manually operated vehicle to traverse a selected route based on levels of glare detected or expected along potentials routes to a destination. According to other examples, controlling operation of a vehicle subsystem or a vehicle component includes triggering automated responses by the subsystem or the component based on a level of glare detected or expected. In some additional aspects, glare data is shared between individual vehicles and with a remote data processing system for further analysis and action.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to and thebenefit of U.S. patent application Ser. No. 16/106,668, filed Aug. 21,2018, which is a continuation of and claims priority to and the benefitof U.S. patent application Ser. No. 15/243,421, filed Aug. 22, 2016,issued as U.S. Pat. No. 10,083,606 on Sep. 25, 2018, and the presentapplication claims priority to all of such prior applications, all ofwhich are incorporated by reference herein in their entireties.

TECHNICAL FIELD

Various aspects of the disclosure generally relate to computerizedvehicle controls and navigation. For example, aspects of the disclosureare directed to determining the control, monitoring, guidance, andcondition for a vehicle as well as components and subsystems associatedwith the vehicle. In addition, aspects of the disclosure are directed toproviding navigation information to an autonomous vehicle or a vehicleoperator. Particular aspects of the disclosure are directed tocontrolling operation of a vehicle, its subsystems, and its componentsin response to glare detected by an optical system of the vehicle.

BACKGROUND

Encountering glare during the operation of a vehicle can greatlydiminish visibility of the road and surrounding environment to theoperator of the vehicle. This impairment increases the risk of accidentsto both the vehicle encountering the glare and surrounding vehicles.Techniques for reducing the effect of glare may simply diminish glare asit encountered. Such techniques, however, do not predict or anticipateglare and take action in response.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects of the disclosure. The summary is not anextensive overview of the disclosure. It is neither intended to identifykey or critical elements of the disclosure nor to delineate the scope ofthe disclosure. The following summary merely presents some concepts ofthe disclosure in a simplified form as a prelude to the descriptionbelow.

Various aspects to improving vehicle operation by identifying andavoiding potential exposure to glare. Aspects of the disclosure relateto methods, computer-readable media, systems, and apparatuses fordetermining a glare factor based on real-time or near real-timenavigational analysis using sensor data, digital image data, and a mapdatabase. In some arrangements, the system may be a glare factor systemthat includes at least one processor; and at least one memory storingcomputer-executable instructions that, when executed by the at least oneprocessor, cause the glare detection system to perform glare analysis.

In some aspects the computing device may determine one or more real-timefactors and real-time data associated with the one or more real-timefactors. These factors may include weather, time of day, day of theweek, traffic information, geographic information, vehicle information,surrounding structures, or additional factors that may influenceexposure to glare. The collection and storing of real-time data willallow for the development of a portfolio of historical data that may beused in predictive analysis for determining an anticipated amount ofglare along a route. In some aspects, the system may be a glaredetection system that includes at least one processor, and at least onememory storing computer-executable instructions that, when executed bythe at least one processor, cause the glare detection system to performglare analysis.

In accordance with aspects of the disclosure, a sensor system mayrecord, based on a vehicle traveling a segment of a road, the amount ofglare which the operator of the vehicle would experience. In differentaspects the operation of the vehicle may be manual by a user, fullyautomated by a control system, or at least partially automated such thatcertain subsystems or controls are automatic. A sensor system may alsorecord, based on a vehicle traveling a segment of a road, environmentaldata that influences exposure to glare. The glare data and environmentaldata may be communicated to a server where it may be stored and/oranalyzed. In some aspects, the server may receive current environmentaldata from a network, a vehicle, a server, or other source, and mayperform analysis comparing the current environmental data to the storedhistorical data to predict an anticipated amount of glare.

In at least some aspects, a system may analyze sensor data, real-timeenvironmental data, and a map database in order to create a glare factormap. In different aspects this glare factor map may be based onhistorical data, current data, or a combination of both. In some aspectsthe system may use the glare factor map to generate recommended routesegment combinations for a vehicle traveling to a destination to reduceexposure to glare. In different aspects the vehicle may be manuallyoperated or autonomously operated.

In some aspects the system may receive predefined navigational data froma map database system in order to determine potential route segmentcombinations. The system may analyze glare data to generate a glarefactor map assigning glare data to individual route segments. In someaspects a vehicle will communicate a starting point and a destination tothe system. The system may analyze the glare factors associated withroutes between the starting point and destination to determine arecommended route. In some aspects, at least one of the route segmentsmay be recalculated in response to an update to the real-time data. Thesystem may communicate the recommended route to the vehicle where it maybe displayed to a user or received at an autonomous control system.

Other features and advantages of the disclosure will be apparent fromthe additional description provided herein.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention and theadvantages thereof may be acquired by referring to the followingdescription in consideration of the accompanying drawings, in which likereference numbers indicate like features, and wherein:

FIG. 1 illustrates a network environment and computing systems that maybe used to implement aspects of the disclosure.

FIG. 2 is a diagram illustrating various example components of a glaredetection system according to one or more aspects of the disclosure.

FIG. 3 is a flow diagram illustrating an example method of collectingglare information and storing it at a memory.

FIG. 4 is a flow diagram illustrating an example method of analyzingglare data with current environmental data to create a glare factor map.

FIG. 5 is a flow diagram illustrating an example method of determiningrecommended route segment combinations based on whether vehicleoperation is automated.

FIG. 6 is a flow diagram illustrating an example method of determiningwhether collected glare data should be communicated to surroundingvehicles while providing updated route segment analysis.

FIG. 7 is a flow diagram illustrating an example method of updatingrecommended route segment combinations as a vehicle travels along theroute.

FIG. 8 is a flow diagram illustrating an example method of analyzingcurrent environmental data with stored historical data to predict glaredata to determine recommended route combinations.

FIG. 9 is a flow diagram illustrating an example method of creating aglare factor map based on stored historical glare data.

FIG. 10 is a flow diagram illustrating an example method of creating aglare factor map based on whether current environmental data isreceived.

DETAILED DESCRIPTION

In the following description of the various embodiments, reference ismade to the accompanying drawings, which form a part hereof, and inwhich is shown by way of illustration, various embodiments of thedisclosure that may be practiced. It is to be understood that otherembodiments may be utilized.

Aspects of the present disclosure are directed to the detection andmeasurement of glare along route segments in order to determine ananticipated amount of glare when subsequently traversing those routesegments. The techniques described in further detail below permit bothautomated and manually operated vehicles to make route decisions toreduce glare exposure and minimize one of the more prevalent hazards tovehicle operation.

Throughout this disclosure reference is made to glare, glare detection,glare data, and glare factor. The use of these terms should not limitthe disclosure to any particular definition. Glare may generally beconsidered the impairment of visibility caused by the presence of alight. More particularly, glare may be caused by the ratio of luminancebetween an object being looked at and a light source. In some casesglare may be caused by sunlight, direct or reflected, stars ormoonlight, or artificial light, such as cars headlamps, street lights,street signs, building lights, etc. The effect of glare on a person'svision may depend on a variety of factors, such as the angle or distancebetween the viewer and the object being looked at, the light sourcecausing glare, additional light sources, weather, duration of glare (asvision may adapt over time), and additional factors. Glare may reducevisibility by constricting the pupils, scattering light within the eyeor air, reducing or increasing contrast between objects, causingdiscomfort to an observer causing them to look away, and other means.Glare may be measured in different units, but is often measured as theluminance of objects within a small solid angle, such as a visual fieldof view. This disclosure does not intend to limit the units, procedure,process, device, system, method, or manner in which glare is detected,measured, or calculated.

Various techniques may be selectively employed to measure glare. In someimplementations, for example, the unified glare rating (UGR) may beemployed to measure the glare in an environment. The following formulamay be employed to obtain a UGR measurement:

${UGR} = {8\log_{10}\frac{0.25}{L_{b}}{\sum\limits_{n}\left( {L_{n}^{2}\frac{\omega_{n}}{p_{n}^{2}}} \right)}}$

where L_(n) is the luminance of light source n, ω_(n) is the anglebetween the observer and the light source n, and p_(n) is the Guthposition index.

In many aspects of this disclosure, the term route segment is used todiscuss a particular portion of a route on which a vehicle may travel. Aroute segment may include a road, portion of a road, path, bridge,on-ramp, off-ramp, or any other roadway, path, or portion of a roadwayor path on which vehicles may travel. It should be noted many routesegments allow a vehicle to travel in at least two directions. Further,the direction in which a vehicle is traveling will greatly affect thevehicle's exposure to glare. In some examples a vehicle traveling onedirection on a route segment may experience high levels of glare while avehicle traveling in the opposite direction on a route segment mayexperience little to no levels of glare. For this reason, references toa route or route segment within this disclosure refers to a specificdirection of travel on that road, portion of road, path, etc., such thatglare data or a glare factor associated with a route or route segmentindicates the glare associated with one direction of travel. Therefore,for example, a single road in reality may have multiple glare factorsassociated with it, and only a single glare factor may be relevant to aparticular vehicle depending on the direction of travel of the vehicle.

As will be appreciated by one of skill in the art upon reading thefollowing disclosure, various aspects described herein may be embodiedas a method, a computer system, or a computer program product.Accordingly, those aspects may take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment combiningsoftware and hardware aspects. Furthermore, such aspects may take theform of a computer program product stored by one or more non-transitorycomputer-readable storage media having computer-readable program code,or instructions, embodied in or on the storage media. Any suitablecomputer-readable storage media may be utilized, including hard disks,CD-ROMs, optical storage devices, magnetic storage devices, and/or anycombination thereof. In addition, various signals representing data orevents as described herein may be transferred between a source and adestination in the form of electromagnetic waves traveling throughsignal-conducting media such as metal wires, optical fibers, and/orwireless transmission media (e.g., air and/or space).

FIG. 1 illustrates a block diagram of an example glare detectioncomputing device (or system) 101 in a computer system 100 that may beused according to one or more illustrative embodiments of thedisclosure. The glare detection computing device 101 may have aprocessor 103 having circuitry for controlling overall operation of thedevice 101 and its associated components, including RAM 105, ROM 107,input/output module 109, and memory 115. The glare detection computingdevice 101, along with one or more additional devices (e.g., terminals141 and 151, security and integration hardware 160) may correspond toany of multiple systems or devices described herein, such as personalmobile devices, vehicle-based computing devices, insurance systemsservers, glare detection servers, internal data sources, external datasources, and other various devices in a glare detection system. Thesevarious computing systems may be configured individually or incombination, as described herein, to collect and analyze glare data,environmental data, driver data, vehicle data (such as sensor data anddigital imaging data), and/or driving trip data, detect potential glareexposure based on the received data, provide audio and/or visual warningsignals to a vehicle, provide vehicular controls to a vehicle, providerecommended route options to a driver or automated control system,provide modified or corrected route options to a driver or automatedcontrol system, and the like, using the devices of the glare detectionsystems described herein. In addition to the features described above,the techniques described herein also may be used for controllingoperation of a vehicle, a vehicle sub-system, and/or a vehiclecomponent, generating and presenting glare factors, recommended routes,proposed corrected routes or modified routes, or the like, to users(e.g., via a computing device, such as an on-board vehicle computingdevice, mobile device, or the like).

Input/Output (I/O) 109 may include a microphone, keypad, touch screen,and/or stylus through which a user of the glare detection computingdevice 101 may provide input, and may also include one or more of aspeaker for providing audio output and a video display device forproviding textual, audiovisual and/or graphical output. Software may bestored within memory 115 and/or storage to provide instructions toprocessor 103 for enabling device 101 to perform various actions. Forexample, memory 115 may store software used by the device 101, such asan operating system 117, application programs 119, and an associatedinternal database 121. The various hardware memory units in memory 115may include volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer-readable instructions, data structures, program modules orother data. Certain devices and systems within glare detection systemsmay have minimum hardware requirements in order to support sufficientstorage capacity, processing capacity, analysis capacity, networkcommunication, etc. For instance, in some embodiments, one or morenonvolatile hardware memory units having a minimum size (e.g., at least1 gigabyte (GB), 2 GB, 5 GB, etc.), and/or one or more volatile hardwarememory units having a minimum size (e.g., 256 megabytes (MB), 512 MB, 1GB, etc.) may be used in a device 101 (e.g., a personal mobile device, avehicle-based device, a glare detection server, etc.), in order tocollect and analyze glare data, environmental data, driver data, vehicledata (such as sensor data and digital imaging data), and/or driving tripdata, predict glare exposure based on the received data, provide audioand/or visual warnings to a driver, provide vehicular controls to avehicle, provide recommended route options to a driver or automatedcontrol system, provide modified or corrected route options to a driveror modified control system, using the various devices of the glaredetection systems, etc. Memory 115 also may include one or more physicalpersistent memory devices and/or one or more non-persistent memorydevices. Memory 115 may include, but is not limited to, random accessmemory (RAM) 105, read only memory (ROM) 107, electronically erasableprogrammable read only memory (EEPROM), flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium that can be used tostore the desired information and that can be accessed by processor 103.

Processor 103 may include a single central processing unit (CPU), whichmay be a single-core or multi-core processor (e.g., dual-core,quad-core, etc.), or may include multiple CPUs. Processor(s) 103 mayhave various bit sizes (e.g., 16-bit, 32-bit, 64-bit, 96-bit, 128-bit,etc.) and various processor speeds (ranging from 100 MHz to 5 Ghz orfaster). Processor(s) 103 and its associated components may allow thesystem 101 to execute a series of computer-readable instructions, forexample, collect and analyze glare data, environmental data, driverdata, vehicle data (such as sensor data and digital imaging data),and/or driving trip data, predict glare exposure based on the receiveddata, provide audio and/or visual warnings to a driver, providevehicular control event signals to a vehicle, provide recommended routeoptions to a driver or automated control system, provide modified orcorrected route options to a driver or automated control system, and thelike.

The computing device (e.g., a personal mobile device, vehicle-basedsystem, insurance system server, glare detection server, etc.) mayoperate in a networked environment 100 supporting connections to one ormore remote computers, such as terminals 141, 151, and 161. Suchterminals may be personal computers or servers 141 (e.g., homecomputers, laptops, web servers, database servers), mobile communicationdevices 151 (e.g., mobile phones, tablet computers, etc.), vehicle-basedcomputing systems 161 (e.g., on-board vehicle systems, telematicsdevices, mobile phones or other personal mobile devices installed at,attached to, or residing within vehicles), and the like, each of whichmay include some or all of the elements described above with respect tothe glare detection computing device 101. The network connectionsdepicted in FIG. 1 include a local area network (LAN) 125 and a widearea network (WAN) 129, and a wireless telecommunications network 133,but may also include other networks. When used in a LAN networkingenvironment, the computing device 101 may be connected to the LAN 125through a network interface or adapter 123. When used in a WANnetworking environment, the device 101 may include a modem 127 or othermeans for establishing communications over the WAN 129, such as network131 (e.g., the Internet). When used in a wireless telecommunicationsnetwork 133, the device 101 may include one or more transceivers,digital signal processors, and additional circuitry and software forcommunicating with wireless computing devices 151 and 161 (e.g., mobilephones, portable customer computing devices, vehicle-based computingdevices and systems, etc.) via one or more network devices 135 (e.g.,base transceiver stations) in the wireless network 133.

Also illustrated in FIG. 1 is a security and integration layer 160,through which communications are sent and managed between the device 101(e.g., a personal mobile device, a vehicle-based computing device, aglare detection server, an intermediary server and/or external datasource servers, etc.) and the remote devices (141, 151, and 161) andremote networks (125, 129, and 133). The security and integration layer160 may comprise one or more separate computing devices, such as webservers, authentication servers, and/or various networking components(e.g., firewalls, routers, gateways, load balancers, etc.), having someor all of the elements described above with respect to the computingdevice 101. As an example, a security and integration layer 160 of aserver 101 may comprise a set of web application servers configured touse secure protocols and to insulate the device 101 from externaldevices 141, 151, and 161. In some cases, the security and integrationlayer 160 may correspond to a set of dedicated hardware and/or softwareoperating at the same physical location and under the control of sameentities as device 101. For example, layer 160 may correspond to one ormore dedicated web servers and network hardware in a vehicle and driverinformation datacenter or in a cloud infrastructure supportingcloud-based vehicle identification, vehicle and driver data retrievaland analysis, sensor data retrieval and analysis, and the like. In otherexamples, the security and integration layer 160 may correspond toseparate hardware and software components which may be operated at aseparate physical location and/or by a separate entity.

As discussed below, the data transferred to and from various devices ina glare detection system 100 may include secure and sensitive data, suchas confidential vehicle operation data, insurance policy data, andconfidential user data from drivers and passengers in vehicles.Therefore, it may be desirable to protect transmissions of such data byusing secure network protocols and encryption, and also to protect theintegrity of the data when stored on the various devices within asystem, such as personal mobile devices, vehicle-based devices,insurance servers, glare detection servers, external data sourceservers, or other computing devices in the system 100, by using thesecurity and integration layer 160 to authenticate users and restrictaccess to unknown or unauthorized users. In various implementations,security and integration layer 160 may provide, for example, afile-based integration scheme or a service-based integration scheme fortransmitting data between the various devices in an electronic displaysystem 100. Data may be transmitted through the security and integrationlayer 160, using various network communication protocols. Secure datatransmission protocols and/or encryption may be used in file transfersto protect to integrity of the data, for example, File Transfer Protocol(FTP), Secure File Transfer Protocol (SFTP), and/or Pretty Good Privacy(PGP) encryption. In other examples, one or more web services may beimplemented within the various devices 101 in the system 100 and/or thesecurity and integration layer 160. The web services may be accessed byauthorized external devices and users to support input, extraction, andmanipulation of the data (e.g., glare data, environmental data, vehicledata, driver data, driving trip data, road segment sensor data, etc.)between the various devices 101 in the system 100. Web services built tosupport a personalized display system may be cross-domain and/orcross-platform, and may be built for enterprise use. Such web servicesmay be developed in accordance with various web service standards, suchas the Web Service Interoperability (WS-I) guidelines. In some examples,a glare data, environmental data, driver data, vehicle data, roadsegment sensor data, and/or driving trip data analysis web service, aglare analysis web service, or the like, may be implemented in thesecurity and integration layer 160 using the Secure Sockets Layer (SSL)or Transport Layer Security (TLS) protocol to provide secure connectionsbetween servers 101 and various clients 141, 151, and 161. SSL or TLSmay use HTTP or HTTPS to provide authentication and confidentiality. Inother examples, such web services may be implemented using theWS-Security standard, which provides for secure SOAP messages using XMLencryption. In still other examples, the security and integration layer160 may include specialized hardware for providing secure web services.For example, secure network appliances in the security and integrationlayer 160 may include built-in features such as hardware-accelerated SSLand HTTPS, WS-Security, and firewalls. Such specialized hardware may beinstalled and configured in the security and integration layer 160 infront of the web servers, so that any external devices may communicatedirectly with the specialized hardware.

Although not shown in FIG. 1, various elements within memory 115 orother components in system 100, may include one or more caches, forexample, CPU caches used by the processing unit 103, page caches used bythe operating system 117, disk caches of a hard drive, and/or databasecaches used to cache content from database 121. For embodimentsincluding a CPU cache, the CPU cache may be used by one or moreprocessors in the processing unit 103 to reduce memory latency andaccess time. In such examples, a processor 103 may retrieve data from orwrite data to the CPU cache rather than reading/writing to memory 115,which may improve the speed of these operations. In some examples, adatabase cache may be created in which certain data from a database 121(e.g., a database of glare data, environmental data, driver data,driving behaviors or characteristics, passenger-related data, vehicledata, driving trip data, road segment sensor data, etc.) is cached in aseparate smaller database on an application server separate from thedatabase server (e.g., at a personal mobile device, vehicle-based data,or intermediary network device or cache device, etc.). For instance, ina multi-tiered application, a database cache on an application servercan reduce data retrieval and data manipulation time by not needing tocommunicate over a network with a back-end database server. These typesof caches and others may be included in various embodiments, and mayprovide potential advantages in certain implementations of glaredetection systems, such as faster response times and less dependence onnetwork conditions when transmitting and receiving driver information,vehicle information, driving trip information, sensor data, digitalimage data, and the like.

It will be appreciated that the network connections shown areillustrative and other means of establishing a communications linkbetween the computers may be used. The existence of any of variousnetwork protocols such as TCP/IP, Ethernet, FTP, HTTP and the like, andof various wireless communication technologies such as GSM, CDMA, WiFi,and WiMAX, is presumed, and the various computing devices in glaredetection system components described herein may be configured tocommunicate using any of these network protocols or technologies.

Additionally, one or more application programs 119 may be used by thevarious computing devices 101 within a glare detection system 100 (e.g.,glare data, environmental data, vehicle data, driver data, road segmentsensor data, and/or driving trip data analysis software applications,glare analysis software applications, etc.), including computerexecutable instructions for receiving and analyzing various glare data,environmental sensor data, driver data, vehicle data, digital imagingdata, and/or driving trip data, predicting glare exposure, providingaudio and/or visual warnings to a driver based on a detected glarefactor, providing vehicular control event signals to a vehicle,providing recommended route options to a driver or an automated controlsystem, and/or performing route correction or modification based onglare data and/or environmental data.

FIG. 2 is a schematic diagram of an illustrative glare detection systemnetwork 200 for implementing methods according to the presentdisclosure. As shown in FIG. 2, the network environment 200 may includecomputing devices within or associated with a vehicle 202 (e.g., sensorset 204 or 205, memory 206, transmitter 207, user interface 208,navigation system 209, autonomous control system 210, and internalcomputer processor 211) satellites 220, cellular network elements 221(e.g., broadcast antennas), a glare detection server 230, and a glaredetection system 260 containing instruction sets, a memory for storingdata 240, and a computer processor 250. As illustrated in FIG. 2, insome aspects the glare detection server 230 may act as an entry point tothe glare detection system 260, such that the server managescommunications between this system and external components of thenetwork such as vehicles, sensors, satellites, external databases, etc.

The network environment 200 may utilize one or more communicationprotocols (e.g., protocols for the Internet (IP), Bluetooth, cellularcommunications, satellite communications, etc.) to connect sensors,computing devices, and servers within the network environment 200 forexchanging communications. In particular, the network environment 200may include a cellular network and its components, such as basestations. Accordingly, for example, sensor sets 204 and/or 205 within avehicle 202 may reciprocally communicate, via, in some examples, asatellite 220 or broadcast antenna 221 of the network environment 200,with a glare detection server 230 which in turn may communicate with aglare detection system 260 comprising unique instruction sets, a memory240, and a computer processor 250. In some examples the glare detectionsystem 260 may connect through the server 230 to receive additionalinformation from sources not explicitly shown in FIG. 2. For example, insome embodiments the glare detection system may comprise instructionsets to connect to external sources, via internet, Bluetooth, satellite,etc., to receive current data sets, such as traffic data sets or weatherdata sets. This information may be analyzed at the glare detectionsystem 260 and information may be communicated back through the networkenvironment 200 to the vehicle 202.

FIG. 2 illustrates a first vehicle 202. Additionally, the vehicle 202may be configured to communicate with at least a second vehicle 203. Thevehicle 202 may be any type of vehicle, including a car, motorcycle,bicycle, scooter, drone (or other automated device), truck, bus, boat,plane, helicopter, etc. FIG. 2 also illustrates an example subsystemwithin the network environment 200. Specifically, FIG. 2 illustrates anexample arrangement of computing devices that may exist within thevehicle 202, vehicle 203 and other vehicles not shown. To depict thesecomputing devices, FIG. 2 includes an exemplary diagram of the inside ofthe vehicle 202. As shown in FIG. 2, the vehicle 202 may include avariety of internal system components, which may include a first sensorset 204 and at least a second sensor set 205. The vehicle 202 mayfurther include a memory 206, transmitter 207, user interface 208,navigation system 209, autonomous control system 210, and computer 211.In various examples, the vehicle 202 may include all, some, or none ofthese internal system components and in further examples may include anyvariation of these internal components.

The vehicle 202 includes one or more vehicle operation sensors, such assensor sets 204 and 205, capable of detecting and storing the externaldriving conditions, for example, a sensor set may detect and recordweather data such external temperature, rain, snow, light levels, andsun position for driver visibility. Further, additional vehicleoperation sensors may include external cameras and proximity sensorsthat detect other nearby vehicles, vehicle spacing, traffic levels, roadconditions, traffic obstructions, animals, cyclists, pedestrians, andother conditions that may factor into a driving data/behavior analysis.Additional vehicle operation sensors also may detect and store datarelating to moving violations and the observance of traffic signals andsigns by the vehicle 202 capable of detecting and recording variousconditions at the vehicle and operational parameters of the vehicle. Forexample, a vehicle operation sensor may detect and store datacorresponding to the vehicle's location (e.g., GPS coordinates), time,travel time, speed and direction, rates of acceleration or braking, gasmileage, and specific instances of sudden acceleration, braking,swerving, and distance traveled.

Additional vehicle operation sensor sets also may detect and store datareceived from the vehicle's 202 internal systems, such as impact to thebody of the vehicle, air bag deployment, headlights usage, brake lightoperation, door opening and closing, door locking and unlocking, cruisecontrol usage, hazard lights usage, windshield wiper usage, horn usage,turn signal usage, seat belt usage, phone and radio usage within thevehicle, autonomous driving system usage, maintenance performed on thevehicle, and other data collected by the vehicle's computer systems,including the vehicle on-board diagnostic systems (OBD). Additionaloperation sensors may detect and store data relating to the maintenanceof the vehicle 202, such as the engine status, oil level, engine coolanttemperature, odometer reading, the level of fuel in the fuel tank,engine revolutions per minute (RPMs), software upgrades, and/or tirepressure.

Further, the sensor set 204 and/or the sensor set 205 may be configuredto record and collect information relating to glare exposure, traffic,weather, geography, time of day, day of week, road attributes,topography, structures, and any other information potentially affectingglare. The data collected by sensor set 204 and/or sensor set 205 may berecorded and stored in memory 206. The vehicle 202 may also include auser interface 208 for a user to provide inputs to and receive outputsfrom the vehicle computer system 211. The data collected by sensor set204 and/or sensor set 205 may be communicated through a transmitter 207to a server 230 via a communication protocol, such as a satellite 220 ora broadcast antenna 221 as shown, but also through any other method forcommunicating data.

In some embodiments, a sensor device may also be configured to collectdrive data using, e.g., an accelerometer, GPS, gyroscope, etc. Drivedata may include vehicle telematics data or any other data related toevents occurring during a vehicle's trip (e.g., changes in accelerationor orientation of the vehicle, etc.). For example, drive data mayinclude location information, such as GPS coordinates, indicating thegeographical location of the vehicle 202 as well as speed andacceleration data that may be used to detect speeding, cornering,swerving, and hard-braking events. As described in further detail below,the glare detection system 260 may collect and process the drive data tocompile observed amounts of glare along various road segments andcorrelate that glare with other factors such as, for example, time ofday, traffic levels, weather conditions, and the like.

A vehicle 202 may be controlled by an autonomous control system 210and/or a remote computing device (not shown) via the network 200 oranother network. The autonomous control system 210 may employ sensorsfor inputting information related to a vehicle's surroundings (e.g.,distance from nearby objects) and use the inputted information tocontrol components of the vehicle 202 to drive the vehicle 202. Indifferent embodiments the automated control system 210 may control allsystems of vehicle operation or only some systems or subsystems ofvehicle operation. In some aspects the automated control system 210 maybe configured to be selectively turned off such that no systems orsubsystems are autonomously controlled. In some embodiments theautonomous control system 210 may be configured to selectively automatecertain systems, subsystems, operations, or features of vehicleoperation as chosen by a user, such that in different aspects theoperation of the vehicle 202 may be autonomous, manual, or a combinationthereof. As an example, the autonomous control system 210 may controlone or more of the following: braking, headlight control, navigation,vehicle speed, window and/or windshield tint, horn, and gears. Indifferent embodiments the automated control system 210 may automate anyaspect of vehicle operation.

In some aspects, the systems or subsystems that may be automated by thecontrol system 210 may be customized based on the user characteristicsor preferences of the driver. In one aspect, a user profile may becreated and which may be stored locally at memory 206 within the vehicle202 or remotely at the glare detection system 260, and which later maybe accessed when performing glare analysis. User profile data mayinclude the driver's age, a quality of the driver's eye-sight, estimatedreaction time, routes commonly driven by the driver, the glare factorson the user's common routes, willingness to encounter particular glarefactors, etc. In another arrangement, user profile data, such as theglare factors on the user's common route, may have been previouslydetermined or may be dynamically determined by one or more computingdevices, such as the glare detection system 260.

In different aspects, various responses at the vehicle may beautomatically triggered based on detection of certain data. In someexamples, based on a detected level of glare encountered along a route,the glare detection system 260 may command the vehicle to automaticallydarken the windshield, switch at least one aspect of vehicle operationfrom automated to manual if the glare level impairs the ability of theautomated control system, switch at least one aspect of vehicleoperation from manual to automated control if the glare level impairsthe ability of the driver to operate the vehicle, automatically causethe braking of the vehicle, issue an audible, visual, or physicalwarning to the driver, switch the car's headlight level, or any otherresponse that would reduce potential danger associated with glareexposure. Additional aspects may include providing forward, or rearcamera video on the vehicles multi-function display as a secondaryvisual perspective.

The glare detection system 260 shown in FIG. 2 may be associated with,internal to, operated by, or the like, an entity such as an insuranceprovider. In some examples, the entity may be one of various other typesof entities, such as a government entity, corporation or business,university, or the like. Various examples described herein will bediscussed in the context of an insurance provider. However, nothing inthe specification should be viewed as limiting use of the systems,methods, arrangements, etc. described herein to use only by an insuranceprovider.

In different aspects the glare detection system 260 may include one ormore subsystems that may include hardware and/or software configured toperform various functions within the system 260. The one or moresubsystems may be separate, physical devices or, in other examples, oneor more subsystems may be part of the same physical device. A subsystemmay include an instruction set stored in a physical memory that areexecutable by a processor (such as processor 103 in FIG. 1) to carry outaspects and functions associated with receiving and analyzing variousglare data, environmental data, driver data, vehicle data, digitalimaging data, and/or driving trip data, providing recommended routeoptions to a driver or automated control system, and providing modifiedor corrected route options to a driver or automated control system.

The glare detection system 260 may include various sets of instructionsthat, when executed, carry out aspects of the present disclosure. Theinstructions sets of the glare detection system 260, in this example,include a glare detection and analysis instruction set 261. In certainaspects the glare detection and analysis instruction set 261, whenexecuted, cause the glare detection system 260 to communicate with thefirst vehicle 202. The glare detection system 260 may send commands tothe vehicle 202 to begin recording data at a first sensor set 204. Insome aspects this first sensor set may be configured to detect glare andrecord glare data. The sensor set 204 may include a single sensor deviceor a plurality of sensor devices. The sensor set 204 may be located inthe front of the car, the rear of the car, the top of the car, thebottom of the car, on the interior of the car, on the exterior or thecar, or combinations thereof. In some aspects the first sensor set 204may be configured to be moved to different positions within or connectedto the vehicle 202. In some examples the sensor set may be located suchthat it may record glare that would be encountered by an autonomouscontrol system 210 while the vehicle 202 was being operated by theautonomous control system. In other examples the sensor may be locatedsuch that it may record glare that would be encountered by a driverwhile operating the vehicle 202. In some aspects the sensor may includeinternal cameras or video recorders to detect information relating to adriver of the vehicle, such as the driver's height, positionalorientation, eye movement, etc., such that the sensor set 204 onlydetects and/or records glare that would affect the driver's line ofsight.

In some aspects the first sensor set 204 may comprise a digital imagingdevice, such a digital camera. In other aspects the first sensor set 204may comprise an optical imaging device or light detection device. Insome aspects the sensor set 204 may take images at preconfiguredintervals, or when instructed to do so by a user. In other aspects thesensor set 204 may comprise a digital video recorder and may collectinformation continuously. Digital images may include images obtainedusing photographic imaging techniques, videographic imaging techniques,radar imaging techniques, sonar imaging techniques, and laser imagingtechniques (e.g., LIDAR—Light Detection and Ranging), and other types ofimaging techniques suitable for obtaining digital images and detectinglight exposure during a route of travel. In some examples the glaredetection instructions set 261 may command the sensor set 204 to recordall collected glare data at a memory 206. In further aspects the sensorset 204 may only record glare data at a memory if it rises above apreconfigured threshold. The glare data detected at the first sensor set204 may be stored at a memory in the car and/or may be transmitted backto the glare detection system to be stored at a memory 240.

In further aspects the glare detection and analysis instruction set 261,when executed, may cause the glare detection system 260 to send commandsto the vehicle 202 to communicate with other vehicles when it isdetermined that the recorded glare data is above a predeterminedthreshold. In some aspects, when the sensor set 204 detects glare thatis above the predetermined threshold, the vehicle 202 may communicatewith vehicles within a given surrounding area, such as vehicle 203, tosend a signal that the glare levels are above the threshold. Forexample, a vehicle traveling along a road segment may transmit glareinformation to one or more vehicles trailing that vehicle. In this way,the trailing vehicles may be forewarned about upcoming glare along thatroad segment and take preemptive action in response. The leading vehiclemay communicate with one or more trailing vehicles directly, forexample, by broadcasting the glare information such that the informationis received by any vehicle within the vicinity of the broadcast. Theleading vehicle may also communicate with one or more trailing vehiclesindirectly, for example, by transmitting the glare information to theglare detection system 260 which may then transmit that glareinformation to the other vehicles. The glare detection system 260 maypush the received glare information to other vehicles determined to bewithin the vicinity of the leading vehicle. A vehicle may also pull theglare information from the glare detection system 260 by requesting thelatest glare information associated with the current geographic locationof the vehicle. Waypoints may also be installed along road segments thatcollect and store glare information transmitted by passing vehicles. Thewaypoints may then transmit the glare information to other waypoints forstorage and/or other passing vehicles to inform those vehicles aboutupcoming amounts of glare along the road segment.

In some aspects vehicle 203 may comprise a display or warning devicethat configured to alert the operator of vehicle 203 of the high glarelevel. In some examples this warning device may provide a visual,audible, or physical, such as vibrating, warning. If vehicle 203 isautonomously operated, this signal may inform the autonomous operatingsystem of vehicle 203 to avoid the route segment where the glare abovethe threshold was detected. If the vehicle is manually operated thewarning may, in some examples, be provided via the navigation system209, for example, in the form of color-coded route segments in whichrespective colors correspond to an amount of glare associated with aroad segment, e.g., a current amount of glare observed by vehiclestraveling that road segment or an anticipated amount of glare associatedwith the road segment based on historical glare data. In differentaspects the vehicle 202 may communicate a glare level with surroundingvehicles based on the magnitude of the glare detected. If the glare isslightly above the predetermined threshold, vehicle 202 may onlycommunicate with vehicles in a small radius, but if the glare detectedis determined to be significantly above the threshold vehicle 202 maycommunicate this information to other vehicles in a much larger radius.

In further aspects, the glare detection system 260 will include furtherinstruction sets. In different aspects the glare detection system 260may initiate one instruction set, multiple instruction sets, all of theinstructions set, or any combination of instruction sets at a giventime. As shown in FIG. 2, in some aspects instruction sets may include,but are not limited to: glare detection and analysis, traffic analysis,weather analysis, map analysis, geographic analysis, date and timeanalysis, and historical data analysis.

In some aspects the first vehicle 202 will be equipped with additionaloperation sensors capable of recording additional conditions inside oroutside the vehicle. These sensors may detect and record detect othernearby vehicles, vehicle spacing, traffic levels, road conditions,traffic obstructions, animals, cyclists, pedestrians, and otherconditions that may factor into a driving data/behavior analysis.

The traffic analysis instruction set 262, when executed, may cause theglare detection system 260 to communicate with the vehicle 202 andcommand the vehicle to activate a sensor set, such as sensor set 205,and to detect and record traffic data throughout the vehicle travelingalong its route. The traffic data recorded at sensor set 205 may bestored at memory 206 in the vehicle or communicated to the glaredetection server 230 where it may be analyzed by the glare detectionsystem 260 and/or stored at a memory 240. In other aspects the trafficanalysis instruction set 262 when executed, may cause the glaredetection system 260 to communicate via a network to receive dynamictraffic data from third-party data sources, such as external trafficdatabases containing traffic data. In different aspects, the glaredetection system 260 may receive traffic data from vehicle 202 orthird-party data sources, including data such as amounts of traffic,average driving speed, traffic speed distribution, and numbers and typesof accidents, etc. In further aspects the glare detection system 260 mayreceive from vehicle 202 or external data sources information containingdriving hazard data, including road hazards, traffic accidents, downedtrees, power outages, road construction zones, school zones, and naturaldisasters, etc. As described in further detail below, the traffic datacollected may be processed and analyzed to correlate traffic levels andobserved amounts of glare.

The weather analysis instruction set 263, when executed, may cause theglare detection system 260 to communicate with the vehicle 202 andcommand the vehicle to activate a sensor set, such as sensor set 205,and to detect and record weather data throughout the vehicle travelingalong its route. The weather data record at sensor set 205 may be storedat memory 206 in the vehicle or communicated to the glare detectionserver 230 where it may be analyzed by the glare detection system 260and/or stored at a memory 240. In other aspects the weather analysisinstruction set may cause the glare detection system 260 to communicatewith a network to receive dynamic weather data from third-party datasources, such as external weather databases containing weather data. Indifferent aspects, the glare detection system 260 may receive weatherdata from vehicle 202 or third-party data sources, including data suchas external temperature, precipitation data (rain, snow, hail, sleet,etc.), light levels, sun position, wind strength and direction,humidity, cloud position, etc. As described in further detail below, theweather data collected may be processed and analyzed to correlatevarious weather conditions and observed amounts of glare.

In some aspects additional instruction sets within the glare detectionsystem 260, including as examples, a map analysis instruction set 264, ageographic analysis instruction set 265, a historical data analysisinstruction set 266, and a date and time analysis instruction set 267. Amap analysis instruction set 264, when executed, may cause the glaredetection system 260 to analyze map data to determine route segments androute segment combinations, distance between points, duration of travelbetween two points, etc. The map analysis instruction set may furtherdetermine overall glare factors for routes based on the glare dataassociated with the route segments comprising the route, rank or comparealternative route options based on the overall glare factor, anddetermine and/or recommend a recommended route based on the overallglare factor. A geographic analysis instruction set 265, when executed,may cause the glare detection system 260 to analyze geographic data suchas elevation, topography, natural structures, waterways, trees,shrubbery, fields, etc. The glare detection system may also correlatespecific geographic features with the observed amount of glare. Ahistorical data analysis instruction set 266, when executed, may causethe glare detection system 260 to analyze historical data relating toany data that may influence glare exposure, including all data analyzedby other instruction sets, including historical glare exposure, weather,traffic, geography, etc. In some aspects collected data, including datarelating to glare, weather, traffic, geography, etc., may be storedwithin the glare detection system 260 at a memory 240. The glaredetection system 260 may recover this stored data and analyze it todetermine correlations between glare data and other data sets. Basedupon determining correlations, the glare detection system 260 mayperform analysis to provide anticipated levels of glare. A date and timeanalysis instruction set 267, when executed, may cause the glaredetection system 260 to analyze and/or record information relating totime, date, day of the week, year, season, etc. The date and timeanalysis may provide useful information relating to glare detection,such as whether glare is higher during the day or at night, whether dayof the week affects glare factors, and if glare exposure varies atdifferent times of the year or changes in glare data over time. Theseinstruction sets are simply examples of instruction sets that maycontribute to the detection, recording, and prediction of glare data andshould not limit the type or number of instruction sets that may beincluded in the glare detection system 260.

In some examples, the sensor data received and/or processed by thesystem may be controlled based on one or more conditions. For instance,although a sensor set may have a fixed number of sensors detectingconditions, the system may receive data from a portion of the sensors(e.g., less than all the sensors) when certain conditions are met. Forinstance, if it is daylight, data might be received from less than allsensors on a road segment. If the weather is dry and clear, data may bereceived from less than all the sensors in the sensor set.Alternatively, if it is dark and/or the weather conditions are poor,data may be received from all sensors in order to obtain as much data aspossible.

In some examples, receiving data from less than all sensors may includecontrolling sensors transmitting data. For instance, glare detection andanalysis instruction set 261, or other instruction sets within the glaredetection system 260 may transmit a command to one or more sensors tonot transmit data until reactivated. Additionally or alternatively,glare detection system 260 may further filter the data upon receipt.That is, data may be received from all sensors from a sensor set butonly data from some sensors may be processed in order to conserveresources (e.g., computing resources), streamline the processing ofdata, improve data processing time, remove irrelevant data, etc. In someexamples, a determination of whether the conditions are sufficient toreceive/process data from fewer than all sensors in a sensor set may bemade by the glare detection system 260, or may be determined from anexternal source and received at the glare detection server 230.

FIG. 3 is a flow chart illustrating one example method of detecting,measuring and storing glare data and environmental data. The steps shownin the flow chart may be executed by a single computing device, such asvehicle control computer 211 or glare detection system 260.Alternatively, execution of the steps shown in the flow chart may bedistributed between vehicle control computer 211 and glare detectionsystem 260. The illustrated method may be performed at regular timeintervals (i.e. every 0.5 seconds, every second, every two seconds,etc.), at irregular intervals, or on-demand in response to inputreceived from a user. At step 300, predefined navigational data may bereceived. In some aspects the vehicle will communicate a destination inorder to generate a route. The location of vehicle may be inputted ordetermined by a positioning detection device, such as a GPS. Thenavigational data may be analyzed with the location and destination todetermine potential route segment combinations that may be traveledbetween the location and the destination. The route segmentscombinations may be analyzed to determine a recommended route. In someaspects the recommended route may be determined based on shortestdistance, minimal travel time, reduced exposure to traffic, etc. Therecommended route will include individual route segments. In someaspects the recommended route may be transmitted from the glaredetection system 260 through the glare detection server 230 to thevehicle. In some aspects the glare detection system 260 may transmit acommand to the vehicle to store the recommended route at a memory in thevehicle. In other aspects the vehicle may be operated manually by a userand glare detection system 260 may transmit a command to the vehicle todisplay the recommended route on a navigation system. In further aspectsthe vehicle may be autonomously controlled and glare detection system260 may transmit a command to the vehicle to activate the autonomouscontrol system 210 within the vehicle.

Predefined navigational data may include map data. Route information(e.g. route attribute data) in the map data may comprise data about thephysical attributes of a route (e.g., slope, pitch, surface type, grade,number of lanes, traffic signals and signs and the like). In someaspects, the route information may indicate the presence of otherphysical attributes of a route, such as a pothole(s), a slit(s), an oilslick(s), a speed bump(s), an elevation(s) or unevenness (e.g., if onelane of a road is higher than the other, which often occurs when roadwork is being done), etc. In some embodiments, route information maycomprise the physical conditions of a route (e.g., flooded, wet, slick,icy, plowed, not plowed/snow covered, etc.). In some instances, roadinformation may be data from a sensor that gathers and/or analyzes some,most, or all vertical changes in a route. In other examples, routeinformation may include information about characteristics correspondingto the rules of the road or descriptions of the route: posted speedlimit, construction area indicator (e.g., whether location hasconstruction), topography type (e.g., flat, rolling hills, steep hills,etc.), route type (e.g., residential, interstate, 4-lane separatedhighway, city street, country road, parking lot, pathway, gravel road,etc.), route feature (e.g., intersection, gentle curve, blind curve,bridge, tunnel), number of intersections, whether a roundabout ispresent, number of railroad crossings, whether a passing zone ispresent, whether a merge is present, number of lanes, width ofroads/lanes, population density, condition of route (e.g., new, worn,severely damaged with sink-holes, severely damaged by erosion, gravel,dirt, paved, etc.), locations of various landmarks that are commonlyfound near roadways (traffic lights, traffic signs, street signs, safetybarriers, traffic barricades, safety barriers, etc.) wildlife area,state, county, and/or municipality. In some embodiments, routeinformation may include data about infrastructure features of the route.For example, infrastructure features may include intersections, bridges,tunnels, railroad crossings, and other features.

In some aspects, route information may include a large number (e.g.,300) attributes or more for each route segment. Each route may includeone or more route segments, and different routes may include a differentnumber of route segments. Also, route segments may vary in length. Insome embodiments, route segments may be determined based on theattributes. These attributes may be obtained from a database or via asensor. In some cases, the attributes of each route segment may begeocoded to a specific route segment or a specific latitude andlongitude. For example, the attributes may be things such as, but notlimited to, route geometry, addresses, turn and speed restrictions,physical barriers and gates, one-way streets, restricted access andrelative road heights, etc. As another example, the route attribute datamay consist of information identifying that a route segment has acurvature of n degrees.

Upon receiving route information, the vehicle may activate the glaredetection sensors and environmental sensors at step 301. The glaredetection sensors may be located a first sensor set 204 and theenvironmental sensors may be located at a second sensor set 205. In someaspects the glare sensors and environmental sensors, once activated, mayremain active throughout the duration of the trip. In other aspects thesensors may be predetermined to be selectively activated at certain timeframes. In some aspects the glare detection system may analyze thepredefined navigational data to determine particular road segments withattributes that would cause glare, and command the sensors to activateupon travelling on those segments. In some aspects these attributes maybe direction, time of day, geography, weather, topography, structures,sight lines, road type, traffic, etc. In these aspects the sensors wouldonly be active in scenarios where a vehicle would be expected toencounter glare, thus increasing the efficiency of the data and reducingthe need for the sensors to be activated and engaged at all times, thusconserving power and battery.

Upon activation, the glare detection sensors and environmental sensorsmay be programmed to collect glare and environmental data during themovement of the vehicle throughout the trip at step 302. The glaredetection sensor may record glare data at predetermined time intervals(i.e. every 0.5 seconds, every second, every two seconds, etc.),continuously, or manually in which a user may input when glare isencountered such that the glare detection sensor records glare data. Insome aspects the glare data may be analyzed at a computer 211 within thevehicle, such that a value or factor may be assigned to the glarerecording. The computer 211 may analyze the glare data such that glarevalues only exceeding a certain threshold are stored at the memory 206.In different aspects the glare data may be assigned numerical orquantitative values. The glare may be assigned a value on a scale of1-10, where a value of 1 indicates a low glare level and a value of 10indicates a very high glare level. The use of a scale of 1-10 is forillustrative purposes, and a similar scale utilizing different numericalvalues (i.e. 1-5, 1-100) or alphabetical values (A-Z) may be used.

The environmental sensors may be used to detect anything in thevehicle's surrounding environment that may contribute to the effect ofglare. In some aspects environmental data may comprise all ofcombinations of the following: weather data, time of day, day of week,time of year, road attributes, traffic information, geography,topography, natural structures, artificial structures, etc. In someaspects the environmental sensors, such as sensor set 205, may includeindividual sensor(s) to collect each individual data set. The glaredetection system may include individual instruction sets for each dataset, such as a traffic analysis instruction set 262, a weather analysisinstruction set 263, a map analysis instruction set 264, a geographicanalysis instruction set 265, a historical data analysis instruction set266, a date and time analysis instruction set 267, and other instructionsets relating to data that may affect glare encountered by a vehicle.Weather data may include data relating to: external temperature,precipitation data (rain, snow, hail, sleet, etc.), light levels, sunposition, wind strength and direction, humidity, cloud position, etc.Changes in the weather may be recorded throughout the duration of thetrip to analyze the effect on glare exposure. Route attributes mayinclude any information that may be included in the predeterminednavigational data. Traffic data may include number of vehicles, types ofvehicles (car, motorcycle, bicycle, scooter, drone (or other automateddevice), truck, bus, boat, plane, helicopter, etc.), speed of vehicles(individual vehicle speed, average driving speed, traffic speeddistribution), accidents, etc. Further data that may be recordedincludes geographic data, including natural structures (elevation,latitude, longitude, waterways, trees, shrubbery, plants, mountains,hills, rocks, etc.). Artificial structures, such as buildings, houses,barns, garages, towers, phone lines, traffic lights, road signs, etc.,may also be detected and recorded. In different aspects all of thisenvironmental data may be detected and recorded or only some of it(including different combinations of data sets).

In some aspects, upon collection of glare and environmental data thedata may be immediately transmitted back to the glare detection system260 to be analyzed, such as step 303. In other aspects, the data may bestored at a memory 206 within the vehicle and transmitted at a latertime, such as the conclusion of the trip. In further aspects the datamay be analyzed at a computer 211 within the vehicle, and the analyzedinformation may be transmitted to the glare detection system 260 at step303. The data may be transmitted from the vehicle 202 to the glaredetection server 230 where it may be analyzed at the glare detectionsystem 260. The transmitter 207 may include any wireless communicationdevice. The glare and environmental data collected during the trip maybe associated with the individual route segment on which it wascollected.

At step 304, the glare data and environmental data may be analyzed atthe glare detection system 260. The glare data may be analyzed atindividual route segments to determine the glare data and environmentaldata the vehicle encountered at different locations throughout the trip.At step 305, the glare detection system 260 may then determine a glarefactor associated with the analyzed glare data and assign it to theindividual route segments where the glare data was retrieved. Finally,at step 306 the glare data, including the glare factor associated withparticular route segments, may be stored at a memory, such as memory240, along with the corresponding environmental data. In some aspectsthe glare data and environmental data will correspond such that it canbe determined what the environmental data was when particular glare datawas recorded. In some aspects this corresponding data may be stored at amemory as historical glare data that may be retrieved and analyzed suchthat predicted glare values may be predicted based on encounteredenvironmental data.

It may be noted that in some aspects these systems will become moreefficient through the collection and analysis of additional data. Asmore glare data and environmental data is collected and transmitted tothe glare detection system 260, the system may analyze the data todetermine what environmental factors and road attributes are predictiveof particular glare levels. In this sense, the glare detection systemmay command the vehicle to collect additional data upon initialimplementation, but as more data is gathered and analysis performed, theglare detection system may only command the sensors to collect glare andenvironmental data on road segments where glare has been historicallyencountered. Alternatively, the glare detection system may command thesensors to collect glare and environmental data in response todetermining a vehicle is traveling on a less frequently traveled roadsegment for which relatively little glare data has thus far beencollected.

FIG. 4 is a flow chart illustrating an example method of creating aglare factor map. At a first step 400 the glare data and environmentaldata is received at the glare detection server 230. The glare data andenvironmental data may be received from a vehicle 202, a memory 240, acombination of the two, or from an external source. The glare data mayinclude route data, including route segment combinations, and assignedglare data to individual route segments. The environmental data mayinclude data related to weather data, time of day, day of week, time ofyear, road attributes, traffic information, geography, topography,natural structures, artificial structures, etc. At step 401 the glaredata and environmental data may then be analyzed by the glare detectionsystem 260 to determine individual route segment data associated withencountered glare and the environmental data associated with theencountered glare. At step 402, this route segment data may be stored ata memory, such as memory 240, or an external source.

At step 403, the glare detection server 230 receives currentenvironmental data. In some aspects, this current environmental data maybe received from a vehicle 202, an external source, or a combination ofthe two. External sources may include environmental information datasources, such as external databases containing traffic data (e.g.,amounts of traffic, average driving speed, traffic speed distribution,and numbers and types of accidents, etc.) at various times andlocations, external weather databases containing weather data (e.g.,rain, snow, sleet, and hail amounts, temperatures, wind, roadconditions, visibility, etc.) at various times and locations, and otherexternal data sources containing driving hazard data (e.g., roadhazards, traffic accidents, downed trees, power outages, roadconstruction zones, school zones, and natural disasters, etc.). Thisdata may be received from the same or multiple sources. In some aspectsthe current environmental data may always be received from the samesource. In other aspects the data may be analyzed to determine whichsource has the most recent data and receive the environmental data fromthat source. In some aspects the environmental data may be received frommultiple sources and consolidated to allow for more comprehensiveanalysis. In some aspects the environmental data received will beanalyzed to determine which route segments the data will be applicable.In this sense, the current environmental data may be analyzed andindividualized data may be associated with individual route segments.

At step 404 the glare detection system 260 may compare the receivedcurrent environmental data with the glare data and environmental datastored at a memory 240. The glare detection system 260 may performmathematical algorithmic analysis on the current environmental data andstored data to determine predicted current glare data based on thecurrent environmental data. In some aspects the algorithms may determinewhich environmental data variables are most strongly correlated withglare data. The algorithms may then compare these environmental datavariables in the current environmental data with the storedenvironmental data to predict an anticipated amount of glare based onthe stored glare data associated with those environmental datavariables. As an example, if analysis of the stored data determines thatenvironmental data variables such as time of day, precipitation, andtraffic congestion are the most strongly correlated with high glarefactors, then the algorithm may only analyze those three variables fromthe current environmental data. In different aspects the algorithm mayuse one environmental data variable, two variables, three variables, allvariables, half the variables, one third of the variables, etc. in orderto predict the anticipated amount of glare, including glare duration inconjunction with time of day variables. In further aspects the analysismay include additional algorithms, functions, or analyses to furtherincrease the accuracy of the glare factor prediction. Upon completion ofthe algorithmic analysis, the glare detection system 260 will assign apredicted glare factor to each individual route segment. Finally, atstep 405, the glare detection system may use the assigned predictedglare factors to create a glare factor map capable of displaying orotherwise providing route segment combinations in a particular area andthe glare factors respectively determined for each of those routesegments. This map may be used to determine recommended routes forvehicles, to display to an operator of a vehicle, or to save at a memoryfor future analysis. In some aspects the map may display areas or routesegments as certain glare levels, such as high glare, medium glare, andlow glare. In other aspects the map may show route segments as colorsbased on the glare factors, such as green for low or no glare, yellowfor medium glare, and red for high glare. In different aspects, more ordifferent colors or displays may be used depending on the amount ofdetail desired on the glare factor map. In different aspects the glarefactor map may be dynamically updated upon receiving new currentenvironmental data. In some aspects this may occur at predeterminedintervals, the beginning of a trip, or at the input of a user operatorof a vehicle.

FIG. 5 is a flowchart illustrating a method for selecting a recommendedroute based on whether the vehicle 202 is manually operated by a user orautonomously operated by a control system 210. At step 501 the glaredetection server 230 receives a destination from the vehicle 202. Insome aspects the glare detection server 230 may receive a location fromthe vehicle 202, in other aspects the location may be determined by apositioning device, such as a GPS. The glare detection system 260 mayanalyze the location and destination and determine potential routesegment combinations for the vehicle to travel from the location to thedestination. At step 502, the server 230 will communicate with the glaredetection system 260 to receive a route segment analysis. The routesegment analysis may be based on stored glare data associated with theroute segments. In some aspects the glare detection system may averagethe stored glare data to determine glare factors to assign to routesegments. In other aspects certain criteria may be used by the glaredetection system to determine what glare data is the most relevant anduse that data for the generation of the route segment analysis. Theglare detection system 260 may include potential route segments, glarefactors associated with route segments, a glare factor map, etc. At step503 the glare detection system will determine if the vehicle operationis automated. In some aspects the vehicle may be always automaticallyoperated, always manually operated, or configured to switch betweenoperation states such that the vehicle is automatically controlled at afirst operation state and manually controlled at a second operationstate. In further aspects the autonomous control system 210 may controlall aspects of vehicular control, or only some aspects of vehicularcontrol. Whenever some aspects of vehicular control are autonomous andsome are manually controlled, the glare detection system will bepreconfigured to recognize the vehicle as either autonomously ormanually controlled based on which aspects are automated and which aremanual.

If the vehicle is determined to be autonomously controlled, the glaredetection system will proceed to step 504. The glare detection systemwill analyze the glare information and select a route combination tominimize total glare encountered by the vehicle upon the route. In otheraspects not shown, the glare detection system may select a routecombination to keep total glare exposure under a certain threshold, keepglare encountered in any particular route segment below a certainthreshold, or perform analysis to balance duration of the trip withglare exposure. In still further aspects the glare detection system maytake additional data into account in determining the route combination,such as reducing exposure to other traffic. Upon determining the routecombination, the glare detection system may determine a recommendedroute. In some aspects the glare detection system 260 may transmit acommand to the vehicle 202 to activate the autonomous control system 210within the vehicle based on the recommended route. In other aspects theglare detection system 260 may transmit a command to the vehicle todeactivate the autonomous control system based on the recommended route.In other aspects the glare detection system 260 may transmit a commandto the vehicle to deactivate the autonomous control system based on therecommended route. In further aspects the system 260 may command thevehicle 202 to have the autonomous control system 210 perform therecommended route. In some aspects the glare detection system 260 maytransmit a command to the vehicle 202 to display the recommended routeon a navigation system 209 within the vehicle.

If the vehicle is determined to be manually controlled, the glaredetection system will proceed to step 505, and receive a user inputselecting a glare factor threshold. This may be a maximum total glareacceptable to be experienced by a user, a maximum glare exposureacceptable to be experienced on any particular route segment, acombination of the two, or acceptable exposure to environmentalvariables linked to high glare factors. The user input may bedynamically selected by the user at an input in the vehicle 202, it maybe predetermined by the user, it may depend on factors predetermined bya user, or be determined in any other manner. For example, in someaspects a user may be more willing to be exposed to potential glareduring the middle of the day rather than at night. In this example theuser may set predetermined glare factor threshold based on the time ofday. In different variations the user glare factor threshold may bepredetermined by different inputs or variables. Once the glare factorthreshold is received by the glare detection system 260, the system may,at step 506, select a route segment combination based on the glarefactor threshold. In some aspects the glare detection system 260 maytransmit a command to the vehicle 202 to activate the autonomous controlsystem 210 within the vehicle based on the route segment combination. Inother aspects the glare detection system 260 may transmit a command tothe vehicle to deactivate the autonomous control system based on theroute segment combination. In further aspects the system 260 may commandthe vehicle 202 to have the autonomous control system 210 perform therecommended route. In some aspects the glare detection system 260 maytransmit a command to the vehicle 202 to display the route segmentcombination on a navigation system 209 within the vehicle. In furtheraspects the glare detection system 260 may transmit a command to thevehicle to store the recommended route a memory 206 in the vehicle 202.

FIG. 6 illustrates a method for creating a dynamic glare analysis inwhich external vehicles in the network may be warned when glare isdetected to be above a certain threshold in a particular area or on aparticular route segment. At step 601 the glare detection server 230receives a destination. The location or starting point of the vehiclemay be input at the vehicle, or may be determined by a positioningdevice, such as a GPS. The glare detection system 260 may then analyzepotential route segments combinations between the location anddestination to determine a recommended route at step 602. In someaspects this recommended route may be based on glare exposure analysis,minimized duration of the trip, shortest distance, or analysis designedto reduce exposure to glare while minimizing trip duration as much aspossible. Upon determining the recommended route, the glare detectionsystem 260 may transmit the recommended route to the vehicle 202 andcommand the vehicle to perform an operation upon receiving therecommended route. In different aspects the glare detection system 260may command the vehicle to display the recommended route on a navigationdisplay, activate at least one autonomous operation of the vehicle, orstore the recommended route at a memory in the vehicle 202. At step 603the vehicle will activate the first sensor set 204. At step 604 thevehicle will collect glare data at the first sensor set 204 throughoutthe duration of the trip. In different aspects the glare data may becontinuously recorded, recorded at predetermined time intervals,recorded at predetermined locations, recorded upon instruction from auser, etc.

At step 605, the computer 211 on the vehicle 202 will analyze therecorded glare data to determine if the glare factor exceeds a certainthreshold. In some aspects the glare threshold may be input by a user invehicle 202, predetermined by the glare detection system 260, ordetermined by other users. For example, vehicle 202 and vehicle 203 mayestablish a communication connection within the same network 200. Insome aspects this may be based on physical proximity, such that the twovehicles are within a certain distance to each other, but may also bebased on an input by either user or by the glare detection system 260.In some aspects the operator of vehicle 203 may enter a predeterminedglare factor threshold into an input on vehicle 203. This threshold maybe communicated to vehicle 202, and received at computer 211. In someaspects computer 211 may communicate with a plurality of vehicles toreceive each vehicles threshold. In other aspects vehicle 203 and otherexternal vehicles may communicate their glare thresholds to the glaredetection system 260, which may then communicate the thresholds tovehicle 202.

At step 605, the computer 211 will determine if the glare factordetected is above the threshold. In different aspects there may be onethreshold or multiple thresholds depending on how many external vehicleshave communicated with vehicle 202. If the glare factor is not above thethreshold, the vehicle skips to step 607. If the glare factor is abovethe threshold, the vehicle executes step 606 and transmits glare data tothe glare detection server 230 and/or to nearby vehicles. In someaspects, such as when the threshold is determined at the glare detectionsystem 260 and thus uniform in the network 200, the glare data will betransmitted to all nearby vehicles in the network 200. In other aspects,such as when each vehicle in the network 200 inputs its own glarethreshold, the glare data will only be transferred to vehicles in thenetwork whose glare threshold is exceed by the glare factor detected byvehicle 200. After transmitting the glare factor data, the vehicle 202moves on to step 607, which is completing the route segment. Uponcompletion of the particular route segment, step 608 is whether thevehicle has arrived at the destination. If the vehicle has not arrivedat the destination, the method is repeated from step 602, and thecurrent location is used as the new starting point to determinepotential route segments to the destination. If the vehicle has arrivedat the destination, the method moves to step 609, and the glare datadetected throughout the trip is transmitted to the glare detectionserver 230, where it may be analyzed by glare detection system 260and/or stored at memory 240. It should be noted that during the methodillustrated in FIG. 6, environmental data may also be collectedthroughout the trip and may be transmitted to the glare detection server230 at step 609 as well.

FIG. 7 illustrates a method of creating a dynamic route segment analysisand route determination. At step 701 the navigation system 209 willreceive a destination from a user or operator. A starting point may bedetermined at a vehicle 202, and may include an input or the currentlocation of the vehicle 202. This location may be input by a user ordetermined by a positioning device, such as GPS. The destination may becommunicated to the glare detection server 230 at step 702. At step 703,the destination and starting location may be analyzed at the glaredetection system 260 to determine potential routes segment combinations.At step 704 glare detection system 260 receives current environmentaldata from a network. The current environmental data may include datarecently detected by vehicles within the network, including datarelating to weather, time of day, day of week, time of year, roadattributes, traffic information, geography, topography, naturalstructures, artificial structures, etc. The current environmental datamay be received from an external database, such as an external databasecontaining traffic data (e.g., amounts of traffic, average drivingspeed, traffic speed distribution, and numbers and types of accidents,etc.) at various times and locations, external weather databasescontaining weather data (e.g., rain, snow, sleet, and hail amounts,temperatures, wind, road conditions, visibility, etc.) at various timesand locations, and other external data sources containing driving hazarddata (e.g., road hazards, traffic accidents, downed trees, poweroutages, road construction zones, school zones, and natural disasters,etc.). In some aspects the current environmental data may be receivedfrom multiple sources, including vehicles within the network andexternal databases, and the server may choose one set of data to use orconsolidate data from different sources to use.

Upon receiving the current environmental data, the glare detectionsystem 260 may analyze the current environmental data with the storedglare data and stored environmental data at a memory, such as memory240, in order to create a route segment analysis at step 705. The glaredetection system 260 may then perform mathematical algorithmic analysison the current environmental data and stored data to determine predictedcurrent glare data based on the current environmental data. In someaspects the algorithms may determine which environmental data variablesare most strongly correlated with glare data. The algorithms may thencompare these environmental data variables in the current environmentaldata with the stored environmental data to predict current glare databased on the stored glare data associated with those environmental datavariables. In different aspects the algorithm may use one environmentaldata variable, two variables, three variables, all variables, half thevariables, one third of the variables, etc. In further aspects theanalysis may include additional algorithms, functions, or analyses tofurther increase the accuracy of the glare factor prediction. Uponcompletion of the algorithmic analysis, the glare detection system 260will assign a predicted glare factor to each individual route segment.

At step 706 the glare detection system 260 will determine if the vehicleis operated automatically. In different aspects, the operation ofvehicle 202 may be fully autonomous, fully manual, or may be a mix ofautonomous and manual controls. If the vehicle's operation is partlyautomated and partly manual, the glare analysis will treat the vehicleas either automatic or manual depending on predetermined criteria. Thesecriteria may include what systems are automated. In some aspects thecriteria may state that if a certain system or subsystem is automated,such as headlight control, braking, vehicle speed, etc., then thevehicle will be determined to be automated. If the vehicle is determinedto be automatically operated, the method will proceed to step 707. Inthis step the glare detection system will analyze the glare informationand select a route segment to minimize total glare encountered by thevehicle 202 upon the route segment. In some aspects the glare detectionsystem will simply select the route segment with the lowest glarefactor. In other aspects the glare detection system 260 will analyze allpotential route segment combinations and select the next route segmentthat will minimize total glare encountered through the trip, or thatwill minimize the maximum glare factor encountered on any particularroute segment within the route. In other aspects not shown, the glaredetection system may perform analysis to balance duration of the tripwith glare exposure to determine the next route segment. In stillfurther aspects the glare detection system may take additional data intoaccount in determining the route segment selection, such as reducingexposure to other traffic. The glare detection system may transmit theroute segment selection to vehicle 202 and command the vehicle toperform an operation by the autonomous control system 210. In someaspects the route segment combination may be displayed on a navigationsystem 209 within the vehicle. Accordingly, the glare factor may beemployed as a weight associated with a route segment and used whenscoring and selecting potential routes. The duration, traffic, etc.associated with a route segment may also be employed as weights. Anoverall weight for a route segment may be determined based one or moreindividual weights corresponding to individual factors associated withthat route segment, e.g., glare, duration, traffic, etc. For example,the overall weight for a route segment may be the average, sum, or othertype of aggregation of one or more individual weights corresponding tovarious factors associated with that route segment. Selecting a routemay thus include minimizing the sum of the overall weights associatedwith the route segments along a route, minimizing the sum of aparticular weight (e.g., the weight corresponding to the glare factor)associated with the route segments, and the like. The method will thenproceed to step 710.

If during step 706 the vehicle was determined to be manually operated,the method will proceed to step 708, and receive a user input selectinga glare factor threshold. In some aspects the glare factor thresholdselected by a user may be stored in the user profile which may be storedlocally at memory 206 within the vehicle 202 or remotely at the glaredetection system 260, and which later may be accessed when performingglare analysis. In some aspects, this may be a maximum total glareacceptable to be experienced by a user, a maximum glare exposureacceptable to be experienced on any particular route segment, acombination of the two, or acceptable exposure to environmentalvariables linked to high glare factors. The user input may bedynamically selected by the user at an input in the vehicle 202, it maybe predetermined by the user, it may depend on factors predetermined bya user, or be determined in any other manner. For example, in someaspects a user may be more willing to be exposed to potential glareduring the middle of the day rather than at night. In this example theuser may set predetermined glare factor thresholds based on the time ofday. In different variations the user glare factor threshold may bepredetermined by different inputs or variables. Once the glare factorthreshold is received by the glare detection system 260, the system mayproceed to step 709 and select a route segment based on the glare factorthreshold. In some aspects the glare detection system 260 may select theshortest route segment within the glare factor threshold. In otheraspects the glare detection system 260 may perform analysis on the routesegment combinations and select the next route segment such that futureroute segment combinations are still within the glare factor threshold.In still further aspects the glare detection system may take additionaldata into account in determining the route segment selection, such asreducing exposure to other traffic. The route segment selection may thenbe communicated to the vehicle 202, where it may be displayed on anavigation system 209 to a user.

At step 710 the vehicle then completes the determined route segment.Upon completion, the method proceeds to 711, and the glare detectionsystem 260 determines whether the vehicle 202 has arrived at itsdestination. If the vehicle has not arrived at its destination, themethod is repeated from step 702, and the new location and destinationare communicated to the glare detection server 230, such that the nextroute segment is selected. If the destination is reach, the method iscompleted at step 712. In some aspects, during the method illustrated inFIG. 7 glare data and/or environmental data may be detected and recordedby the vehicle 202 throughout its trip. If glare data and/orenvironmental data is detected and recorded during the trip, it may betransmitted to the glare detection system 260 at any point prior to step712, and may be analyzed and/or stored at memory 240.

FIG. 8 is a flowchart illustrating a method for selecting a recommendedroute based on receiving current environmental data and whether thevehicle 202 is manually operated by a user or autonomously operated by acontrol system 210. At step 800 the glare detection server 230 receivesa destination from the vehicle 202. In some aspects the glare detectionserver 230 may receive a location from the vehicle 202 (e.g., from thenavigation system at the vehicle), in other aspects the location may bedetermined by a positioning device, such as a GPS. At step 801, thedestination is communicated to the glare detection system 260, where itmay analyze the location and destination and determine potential routesegment combinations for the vehicle to travel from the location to thedestination. At step 802, the glare detection server 230 willcommunicate with the network 200 to receive current environmental data.At the next step 803 the server will receive the current environmentaldata. In some aspects, the current environmental data may include datarecently detected by vehicles within the network, including datarelating to weather, time of day, day of week, time of year, roadattributes, traffic information, geography, topography, naturalstructures, artificial structures, etc. In other aspects the currentenvironmental data may be received from an external database, such as anexternal database containing traffic data (e.g., amounts of traffic,average driving speed, traffic speed distribution, and numbers and typesof accidents, etc.) at various times and locations, external weatherdatabases containing weather data (e.g., rain, snow, sleet, and hailamounts, temperatures, wind, road conditions, visibility, etc.) atvarious times and locations, and other external data sources containingdriving hazard data (e.g., road hazards, traffic accidents, downedtrees, power outages, road construction zones, school zones, and naturaldisasters, etc.), or other external databases containing environmentaldata. In some aspects the current environmental data may be receivedfrom multiple sources, including vehicles within the network andexternal databases, and the server may choose one set of data to use orconsolidate data from different sources to use.

Upon receiving the current environmental data, the glare detectionsystem 260 will proceed to step 804 and may analyze the currentenvironmental data with the stored glare data and stored environmentaldata at a memory, such as memory 240. Upon analyzing the currentenvironmental data with the stored glare data and stored environmentaldata, the system proceeds to step 805 and the glare detection system 260may then perform mathematical algorithmic analysis on the currentenvironmental data and stored data to determine predicted current glaredata based on the current environmental data. In some aspects thealgorithms may determine which environmental data variables are moststrongly correlated with glare data. The algorithms may then comparethese environmental data variables in the current environmental datawith the stored environmental data to predict current glare data basedon the stored glare data associated with those environmental datavariables. In different aspects the algorithm may use one environmentaldata variable, two variables, three variables, all variables, half thevariables, one third of the variables, etc. In further aspects theanalysis may include additional algorithms, functions, or analyses tofurther increase the accuracy of the glare factor prediction. Uponcompletion of the algorithmic analysis, the glare detection system 260will assign a predicted glare factor to each individual route segment.

At step 806 the method will determine whether the vehicle 202 isautonomously operated. The glare detection system 260 will determine ifthe vehicle operation is automated. In some aspects the vehicle may bealways automatically operated, always manually operated, or configuredto switch between operation states such that the vehicle isautomatically controlled at a first operation state and manuallycontrolled at a second operation state. In further aspects theautonomous control system 210 may control all aspects of vehicularcontrol, or only some aspects of vehicular control. Whenever someaspects of vehicular control are autonomous and some are manuallycontrolled, the glare detection system will be preconfigured torecognize the vehicle as either autonomously or manually controlledbased on which aspects are automated and which are manual.

If the vehicle is determined to be autonomously controlled, the glaredetection system will proceed to step 807. The glare detection systemwill analyze the glare information and select a route combination tominimize total glare encountered by the vehicle upon the route. In otheraspects not shown, the glare detection system may select a routecombination to keep total glare exposure under a certain threshold, keepglare encountered in any particular route segment below a certainthreshold, or perform analysis to balance duration of the trip withglare exposure. In still further aspects the glare detection system maytake additional data into account in determining the route combination,such as reducing exposure to other traffic. The route segmentcombination may be transmitted to vehicle where it may be received bythe autonomous control system. In some aspects the route segmentcombination may be displayed on a navigation system 209 within thevehicle. If the vehicle was determined to be autonomously controlled,the method will proceed from step 807 to step 811 where the method willend.

If during step 806 the vehicle was determined to be manually operated,the method will proceed to step 808, and receive a user input selectinga glare factor threshold. In some aspects, this may be a maximum totalglare acceptable to be experienced by a user, a maximum glare exposureacceptable to be experienced on any particular route segment, acombination of the two, or acceptable exposure to environmentalvariables linked to high glare factors. The user input may bedynamically selected by the user at an input in the vehicle 202, it maybe predetermined by the user, it may depend on factors predetermined bya user, or be determined in any other manner. For example, in someaspects a user may be more willing to be exposed to potential glareduring the middle of the day rather than at night. In this example theuser may set predetermined glare factor threshold based on the time ofday. In different variations the user glare factor threshold may bepredetermined by different inputs or variables. Once the glare factorthreshold is received by the glare detection system 260, the system mayproceed to step 809 and select a route segment combination based on theglare factor threshold. In some aspects the glare detection system 260may select the shortest route segment combination within the glarefactor threshold. In other aspects the glare detection system 260 mayperform analysis on the route segment combination and select the routesegment combination that provides a route determined to be the mostefficient balance of duration and low glare exposure. In still furtheraspects the glare detection system may take additional data into accountin determining the route segment combination selection, such as reducingexposure to other traffic. The route segment combination may then becommunicated to the vehicle 202. The method will proceed to step 810,and display the route segment combination on the display of thenavigation device 209. In some aspects the display may be accompanied byaudible directions to assist the operator of the vehicle in followingthe route. After the route has been displayed the method proceeds tostep 811 and ends. In some aspects, during the method illustrated inFIG. 8, glare data and/or environmental data may be detected andrecorded by the vehicle 202 throughout its trip. If glare data and/orenvironmental data is detected and recorded during the trip, it may betransmitted to the glare detection system 260, e.g., prior to step 811,and analyzed and/or stored at memory 240.

FIG. 9 illustrates an example flowchart of creating a glare factor map.At step 900 glare data is received at a glare detection server 230. Insome aspects the glare data will be received from a vehicle 202. Inother aspects the glare data received will comprise glare data receivedfrom a plurality of vehicles. In some aspects glare data may be receivedfrom additional sources, such as historical databases. At the next step901, the glare detection system 260 analyzes the glare data received bythe server in comparison with predefined navigational data at the glaredetection system, and assigns glare factors to individual routesegments. At step 902 the route segment glare factors are stored at amemory. In some aspects the memory may be in the glare detection system,such as memory 240. In other aspects the route segment glare factors maybe stored at memory outside of the network, such as an external memorynot shown in FIG. 2. At the next step 903 the method asks whether aglare factor map has been requested. In some aspects the glare factormap may be requested by an input at a vehicle 202, by a computer on thenetwork 200, or by an external server, such as a server associated withan insurance company. If a glare factor map has not been requested atstep 903 the method is returned to step 900 and new glare data isreceived at the glare detection server 230. If a glare factor map hasbeen requested at step 903, the method proceeds to step 904 and theglare detection system 260 analyzes the stored route segment glarefactors. In this step the glare detection system 260 may use allpreviously stored route segment glare factors, some previously storedroute segment glare factors, or any portion of the stored route segmentglare factors. The glare detection system 260 may average the storedroute segment glare factors or perform algorithmic analysis to determinepredicted glare factors. At the next step 905 the glare detection system260 will determine predicted glare factors, assign them to particularroute segments, and create a glare factor map. In this method the morestored route segment analysis data the more accurate the glare factormap will be in predicting future glare data or accurately reflectinghistorical data. It should be noted that the glare factor map may bedynamically updated as additional glare data is received at the server230 and analyzed at the system 260. In different aspects the glarefactor map may display any variety of dimensions or shapes. In someaspects the glare factor map may update individual route segments morefrequently, such as a route segments that experience higher trafficflow. In other aspects, once generated, the glare factor map may betransmitted to a vehicle 202, to another computer on the network 200, toan external network, or to an external server, such as a serverassociated with an insurance company. In further aspects, the glaredetection system 260 may transmit a command to vehicle 202 based on theglare factors determined for one or more of the route segments of themap. In different aspects, based on the corresponding glare factors forone of more of the route segments, the glare detection system 260 maycommand the vehicle to activate or deactivate the autonomous controlsystem, display the glare factor map on a navigational system 209,display a recommended route on the navigation system 209, store theglare factor map at a memory 206 in vehicle 202, or store a recommendedroute at a memory 206 in the vehicle 202. In different aspects the glaredetection system 260 may transmit a command to the vehicle to performone or multiple operations based on the determined glare factors.

FIG. 10 is a flowchart illustrating creating a glare factor map based onthe type of data received at a server. In the first step 1000, the glaredetection system 260 analyzes stored environmental data and glare data.This stored glare data and environmental data may be stored at a memory240 or at an external memory and transmitted to the glare detectionsystem. After analyzing the stored glare data and environmental data,step 1001 is determining whether current environmental data has beenreceived. In some aspects current environmental data may include datarecently detected by vehicles within the network, including datarelating to weather, time of day, day of week, time of year, roadattributes, traffic information, geography, topography, naturalstructures, artificial structures, etc. In other aspects the currentenvironmental data may be received from an external database, such as anexternal database containing traffic data (e.g., amounts of traffic,average driving speed, traffic speed distribution, and numbers and typesof accidents, etc.) at various times and locations, external weatherdatabases containing weather data (e.g., rain, snow, sleet, and hailamounts, temperatures, wind, road conditions, visibility, etc.) atvarious times and locations, and other external data sources containingdriving hazard data (e.g., road hazards, traffic accidents, downedtrees, power outages, road construction zones, school zones, and naturaldisasters, etc.), or other external databases containing environmentaldata. In some aspects the current environmental data may be receivedfrom multiple sources, including vehicles within the network andexternal databases, and the server may choose one set of data to use orconsolidate data from different sources to use. If current environmentaldata is not received, the method proceeds to step 1002.

At step 1002, the glare detection system creates a glare factor mapbased on stored glare data. The glare detection system 260 may use allpreviously stored glare data, some previously stored glare data, or anyportion of the stored glare data. The glare detection system 260 mayaverage the stored glare data or perform algorithmic analysis todetermine predicted glare data. The glare detection system 260 may usethis glare data and predefined navigational data to assign glare factorsto particular route segments and create a glare factor map. In someaspects the glare factor map may then be transmitted to a vehicle 202,to other computers on the network 200, or to an external server, suchone or more servers associated with an insurance company. In furtheraspects, the glare detection system 260 may transmit a command tovehicle 202 based on the glare factors determined for one or more of theroute segments of the map. In different aspects, based on thecorresponding glare factors for one of more of the route segments, theglare detection system 260 may command the vehicle to activate ordeactivate the autonomous control system, display the glare factor mapon a navigational system 209, display a recommended route on thenavigation system 209, store the glare factor map at a memory 206 invehicle 202, or store a recommended route at a memory 206 in the vehicle202. In different aspects the glare detection system 260 may transmit acommand to the vehicle to perform one or multiple operations based onthe determined glare factors.

If current environmental data is received, the method proceeds to step1003 and the current environmental data is analyzed with the storedglare data and environmental data. The glare detection system 260 may,at step 1004, perform mathematical algorithmic analysis on the currentenvironmental data and stored glare and environmental data to determinepredicted current glare data based on the current environmental data. Insome aspects the algorithms may determine which environmental datavariables are most strongly correlated with glare data. The algorithmsmay then compare these environmental data variables in the currentenvironmental data with the stored environmental data to predict currentglare data based on the stored glare data associated with thoseenvironmental data variables. In further aspects the analysis mayinclude additional algorithms, functions, or analyses to furtherincrease the accuracy of the glare factor prediction. Upon completion ofthe algorithmic analysis, the glare detection system 260 will assign apredicted glare factor to individual route segments within the map area.Finally, at step 1005, the glare detection system 260 may use theassigned glare factors to create a glare factor map capable ofdisplaying all route segment combinations in a particular area and whatthe current predicted glare factor is for each of those route segments.This map may be used to determine recommended routes for vehicles, todisplay to an operator of a vehicle, or to save at a memory for futureanalysis. In some aspects the map may display areas or route segments ascertain glare levels, such as high glare, medium glare, and low glare.In other aspects the map may show route segments as colors based on theglare factors, such as green for low or no glare, yellow for mediumglare, and red for high glare. In different aspects more or differentcolors or displays may be used depending on the amount of detail desiredon the glare factor map. In different aspects the glare factor map maybe dynamically updated upon receiving new current environmental data. Insome aspects this may occur at predetermined time intervals, thebeginning of a new vehicle trip, or at the input of a user operator of avehicle. In some aspects the glare factor map may then be transmitted toa vehicle 202, to other computers on the network 200, or to an externalserver, such one or more servers associated with an insurance company.In further aspects, the glare detection system 260 may transmit acommand to vehicle 202 based on the glare factors determined for one ormore of the route segments of the map. In different aspects, based onthe corresponding glare factors for one of more of the route segments,the glare detection system 260 may command the vehicle to activate ordeactivate the autonomous control system, display the glare factor mapon a navigational system 209, display a recommended route on thenavigation system 209, store the glare factor map at a memory 206 invehicle 202, or store a recommended route at a memory 206 in the vehicle202. In different aspects the glare detection system 260 may transmit acommand to the vehicle to perform one or multiple operations based onthe corresponding glare factors determined for one or more of the routesegments of the glare factor map.

In some aspects data collected by the glare detection system may be usedby external networks, systems, processes, and/or devices. In oneexample, networks and systems utilized by insurance companies may useglare analysis data in determining risk levels associated withparticular aspects of vehicular operation. In one aspect, an insurancesystem may analyze glare analysis data in assigning a risk level toroute segments based on the glare factors associated with the routesegments. The insurance system may further base insurance rates in thegeographic vicinity of those routes on at least the determinedglare-based risk levels. A system may analyze a glare factor map orindividual route segment glares factors, and compare that data to thetypical routes traveled by an insurance customer as part of calculatingan insurance premium for that customer based on the glare-based risksassociated with traveling along those routes. In further aspects aninsurance system may offer usage-based insurance wherein the insurancerates are based on anticipated levels of glare along potential routes.This may occur by allowing the user to pre-select a route at a givenrate, determining that the user actually traversed the selected route,and charging the user the corresponding rate. In a different aspects,this may occur by identifying different routes and corresponding ratesbased on the anticipated level of glare detected along each route,determining which route the user traversed, and charging the user therate associated with the route traversed. In further aspects, theinsurance system may assign a customer a glare factor threshold that maybe communicated to a glare detection system which uses the data inidentifying recommended routes for that particular customer.

Additional use cases will be appreciated with the benefit of thisdisclosure. For example, a glare detection system residing within thevehicle may detect a current level of glare when traversing a route. Ifthe current level of glare crosses a predetermined or user-selectedglare threshold, the glare detection system may trigger one or moreevents at the vehicle. If, for example, the current level of glareexceeds a glare threshold selected by the driver, the glare detectionsystem may trigger a switch between a manual operation of the vehicle'sbraking system to an automated operation of the vehicle's brakingsystem. In this way, control over the speed and braking of the vehiclemay be automatically transferred to an autonomous vehicle control systemwhen the current level of glare adversely impacts the driver's abilityto see other vehicles, traffic signals, etc. As another example, if thecurrent level of glare exceeds a glare threshold selected by the driver,the glare detection system may extend or shorten the distance thresholdsfor an automated operation of the vehicle's braking system. In this way,control over the speed and braking distance thresholds of the vehiclemay be automatically transferred to an autonomous vehicle control systemwhen the current level of glare adversely impacts the driver's abilityto see other vehicles, traffic signals, etc. As another example, if thecurrent level of glare exceeds a glare threshold, the glare detectionsystem at the vehicle may trigger a tinting of the windshield in orderto mitigate the effects of that glare on the driver.

While the aspects described herein have been discussed with respect tospecific examples including various modes of carrying out aspects of thedisclosure, those skilled in the art will appreciate that there arenumerous variations and permutations of the above described systems andtechniques that fall within the spirit and scope of the invention.

What is claimed is:
 1. A navigation apparatus for a vehicle, comprising:at least one processor; and at least one memory storingcomputer-executable instructions that are executed by the at least oneprocessor to cause the navigation apparatus to: determine a location ofa first vehicle; receive predefined navigational data, wherein thepredefined navigational data characterizes a first route segmentcorresponding to the location of the first vehicle; receive first glaredata associated with the first route segment, wherein the first glaredata characterizes glare detected by at least a second vehicle at thefirst route segment; determine, based on the predefined navigationaldata and the first glare data, a first glare factor for the first routesegment; compare the first glare factor to a glare factor threshold; andtransmit, to the first vehicle, a first command that is based oncomparing the first glare factor to the glare factor threshold, thefirst command executable to cause the first vehicle to issue an alert toan operator of the first vehicle.
 2. The navigation apparatus of claim1, wherein the instructions are further executed by the at least oneprocessor to further cause the navigation apparatus to: determine asecond route segment associated with a second location of the firstvehicle; receive second glare data associated with the second routesegment, wherein the second glare data characterizes glare detected byat least a third vehicle at the second route segment; determine, basedon the second glare data, a second glare factor for the second routesegment compare the second glare factor to the glare factor threshold;and transmit, to the first vehicle, a second command that is based oncomparing the second glare factor to the glare factor threshold.
 3. Thenavigation apparatus of claim 1, wherein the instructions are furtherexecuted by the at least one processor to further cause the apparatus toreceive environmental data associated with the first route segment, andwherein determining the glare factor is further based on theenvironmental data.
 4. The navigation apparatus of claim 3, wherein theenvironmental data comprises at least one of weather data, traffic data,time-of-day data, day-of-the week data, topographic data, or road data.5. The navigation apparatus of claim 1, wherein receipt of the firstcommand at the first vehicle further causes the first vehicle to switchbetween a first operation state and a second operation state.
 6. Thenavigation apparatus of claim 5, wherein the first operation state is amanual operation of the first vehicle by the operator of the firstvehicle and the second operation state is an autonomous operation of thefirst vehicle by an autonomous vehicle control system of the firstvehicle.
 7. The navigation apparatus of claim 6, wherein the autonomousoperation of the vehicle includes automating at least one feature ofvehicle operation.
 8. The navigation apparatus of claim 1, wherein theinstructions are further executed by the at least one processor tofurther cause the apparatus to: receive new glare data characterizingglare encountered by the first vehicle while traveling along the firstroute segment; and, update, based on the new glare data, the first glarefactor for the first route segment at which the glare was encountered.9. The navigation apparatus of claim 8, wherein the instructions arefurther executed by the at least one processor to further cause theapparatus to send, to the first vehicle, a new command that is based onthe new glare data characterizing the glare encountered while travelingalong the first route segment.
 10. The navigation apparatus of claim 1,wherein the glare factor threshold is received from the first vehiclebased on an input from a first user associated with the vehicle.
 11. Thenavigation apparatus of claim 1, wherein the alert issued to theoperator of the first vehicle is associated with the first glare factor.12. The navigation apparatus of claim 1, wherein the alert comprises atleast one of a visual warning, an audible warning, or a physicalwarning.
 13. A navigation apparatus for a vehicle comprising: at leastone processor; a data store storing glare data characterizing glareencountered at a plurality of routes; and, a memory storingcomputer-executable instructions that are executed by the at least oneprocessor to cause the navigation apparatus to: receive predefinednavigational data; receive, from a first vehicle, information indicatinga location and information indicating a destination; determine, based onthe predefined navigational data, the location, and the destination, oneor more possible routes from the location to the destination, whereineach of the one or more possible routes comprises one or more routesegments; receive, for each possible route of the one or more possibleroutes, glare data detected by at least a second vehicle at each of theone or more route segments of the possible route; determine, based onthe glare data, a glare factor for each possible route of the one ormore possible routes; select, based on comparing each glare factor to aglare factor threshold, one of the one or more possible routes as arecommended route; and, generate a display of the recommended route on adisplay device within the first vehicle.
 14. The navigation apparatus ofclaim 13, wherein the instructions are further executed by the at leastone processor to further cause the navigation apparatus to: change anoperation state of the first vehicle based on glare data associated withone or more route segments of the recommended route.
 15. The navigationapparatus of claim 14, wherein changing the operation state of the firstvehicle comprises: activating or deactivating an autonomous vehiclecontrol system of the first vehicle.
 16. The navigation apparatus ofclaim 13, wherein the instructions are further executed by the at leastone processor to further cause the navigation apparatus to: provide, toan operator of the first vehicle and based on glare data associated withone or more route segments of the recommended route, an alert.
 17. Theapparatus of claim 16, wherein the alert comprises at least one of avisual warning, an audible warning, or a physical warning.
 18. A methodof controlling a vehicle, the method comprising: determining, by acomputing device, a location and a destination of a first vehicle;receiving, by the computing device, predefined navigational data,wherein the predefined navigation data characterizes one or more routesegments corresponding to the location of the first vehicle;determining, based on the predefined navigational data, based on thelocation, and based on the destination, one or more possible routes fromthe location to the destination, wherein each of the one or morepossible routes comprises one or more route segments; storing, at a datastore of the computing device, environmental data detected by aplurality of vehicles traversing one or more route segments; storing, atthe data store, glare data characterizing glare detected by theplurality of vehicles traversing the one or more route segments;configuring, by the computing device, a glare prediction model based onthe stored environmental data and glare data; receiving, by thecomputing device, current environmental data associated with the one ormore route segments; determining, by the computing device and based onthe current environmental data and glare prediction model, at least onecurrent glare factor for the one or more route segments; and generating,by the computing device, a display of a glare factor map on a displaydevice within the first vehicle based on the at least one current glarefactor.
 19. The method of claim 18, the method further comprising:dynamically updating the glare factor map on the display device withinthe first vehicle based on new current environmental data.
 20. Themethod of claim 18, the method further comprising: providing, to anoperator of the first vehicle and based on comparing the at least onecurrent glare factor to a glare factor threshold, an alert.